home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-13 / amac44b.zip / MSG003.QM < prev    next >
Text File  |  1991-12-28  |  9KB  |  198 lines

  1. *                               msg003.qm
  2. *                 Macros to Make Column Blocks and Boxes
  3. *                        Written By Tom Hogshead
  4. *                       [ See MSGxx.QM For Use ]
  5. *                                12/28/91
  6. *  Key      Subfile            Description
  7. * =====  ============   =================================================
  8. * @(F1)                 Make Column Block a Single Line Box
  9. * @(F2)                 Make Column Block a Single Line Box with Shadow
  10. * @(F3)                 Enclose Column Block in a  Line Box
  11. * @(F5)                 Erase Any Type Column Block Border
  12. * @(F6)                 Erase Single Line Box
  13. * @(1)  {e:\up\rfr009}--Make Column Block Longest Line
  14. * @(2)  {e:\up\rfr009}--Make Column Block Longest Line in Paragraph
  15. * @(6)  {e:\up\rfr009}--Make Column Block Longest Line in File
  16. * @(3)  {e:\up\rfr009}--Make Column Block Longest Line, Exclude Leading Spcs
  17. * @(4)  {e:\up\rfr009}--Convert Any Block to Column Block 73 Column Wide
  18. * @(1)  {e:\up\mis003}--Make Column Block Longest Line
  19. * @(2)  {e:\up\mis003}--Make Column Block Longest Line in Paragraph
  20. * @(6)  {e:\up\mis003}--Make Column Block Longest Line in File
  21. * @(3)  {e:\up\mis003}--Make Column Block Longest Line, Exclude Leading Spc
  22. * @(4)  {e:\up\mis003}--Convert Any Block to Column Block 73 Column Wide
  23. * #(F4__) {e:\up\com003}
  24. *       --Surround Column-Blocked Text With Box Of Desired Characters,
  25. *                                   ********
  26. *         (Box Drawn Around Outside *Border* Of Column Block, Juxtapose Text)
  27. *                                   ********
  28. * @(F4)   {e:\up\com003}
  29. *       --Erase Outside Border Of Column-Blocked Text and Collapse Text
  30. *         Surronding Block To Original Position Before Box Was Made,
  31. *
  32. *        {e:\up\MSG??}  Return To MSGxx.QM
  33. *
  34. *-- eoi
  35.  
  36. *                          M A C R O S
  37. * ----------------------------------------------------------------------
  38. * @(F1) Make Column Block a Single Line Box,
  39. *       Works Anywhere Except When Block is at Column 512, v2.15 Only
  40. * ----------------------------------------------------------------------
  41. * Marking a 3 line column block,
  42. *                         ┌───────────────┐
  43. * Becomes:                │               │
  44. *                         └───────────────┘
  45.  
  46. @F1     macrobegin
  47.         setscreenoff
  48.         gotoblockbeg jtrue START  markcolumn gotoblockbeg jfalse END
  49.  START: toggleboxtype "S" toggleboxdraw
  50.      R: cursorright            iscursorinblock jtrue R  prevposition
  51.      X: cursordown   jfalse L  iscursorinblock jtrue X  prevposition
  52.      L: cursorleft   jfalse T  iscursorinblock jtrue L  prevposition
  53.      T: cursorup     jfalse Y  iscursorinblock jtrue T  prevposition
  54.      Y: cursorright toggleboxdraw gotoblockend addline return
  55.    END: unmarkblock
  56. *
  57. * 57 bytes Fri  11-08-1991  12:40:29 (TH @F1)
  58.  
  59. * 
  60. * ----------------------------------------------------------------------
  61. * @(F2) Make Column Block a Box with Shadow, v2.15 Only
  62. * ----------------------------------------------------------------------
  63. * Marking a 3 line column block,
  64. *                         ┌───────────────┐
  65. * Becomes:                │               │▐
  66. *                         └───────────────┘▐
  67. *                          ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  68.  
  69. * This macro uses the block drawing technique originally used by Jim
  70. * Bennett.
  71.  
  72. @F2     macrobegin
  73.         setscreenoff
  74.         gotoblockbeg jtrue START  markcolumn gotoblockbeg jfalse END
  75.  START: toggleboxtype "S" toggleboxdraw
  76.      R: cursorright            iscursorinblock jtrue R  prevposition
  77.      X: cursordown   jfalse L  iscursorinblock jtrue X  prevposition
  78.      L: cursorleft   jfalse T  iscursorinblock jtrue L  prevposition
  79.      T: cursorup     jfalse Y  iscursorinblock jtrue T  prevposition
  80.      Y: cursorright toggleboxdraw
  81.         endline cursordown gotoblockend unmarkblock markcolumn prevposition
  82.         fillblock "▐" return
  83.         prevposition cursordown unmarkblock insertline markcolumn
  84.         Find "└" return "B"return cursorright cursordown
  85.         fillblock "▀" return addline return
  86.    END: unmarkblock
  87. *
  88. * 84 bytes Fri  11-08-1991  13:21:31 (TH @F2)
  89.  
  90. * (Box) Characters Prepared by Jim Bennett
  91. * ┌───────────────────────────────────────────────────────────────────┐
  92. * │ What is the Ascii #'s of the actual line drawing characters you   │▐
  93. * │ intended to use?                                                  │▐
  94. * └───────────────────────────────────────────────────────────────────┘▐
  95. *  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  96. * S-------------------------------------------------------------------T
  97. * | What is the Ascii #'s of the actual line drawing characters you   |#
  98. * | intended to use?                                                  |#
  99. * U-------------------------------------------------------------------V#
  100. *  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  101. *                        Ascii  Symbol
  102. *                     - = 196     ─
  103. *                     | = 179     │
  104. *                     S = 218     ┌
  105. *                     U = 192     └
  106. *                     T = 191     ┐
  107. *                     V = 217     ┘
  108. *                     ^ = 223     ▀
  109. *                     # = 222     ▐  (TH changed from #219 █)
  110.  
  111. * 
  112. * ----------------------------------------------------------------------
  113. * @(F3) Enclose Column Block in a Box, v2.15 Only
  114. * ----------------------------------------------------------------------
  115. * Example:                 Mark this text as a column block
  116. *                         ┌────────────────────────────────┐
  117. * Becomes:                │Mark this text as a column block│
  118. *                         └────────────────────────────────┘
  119.  
  120. * This macro is a modification of a technique originally used by Jim
  121. * Bennett.
  122.  
  123. @F3     macrobegin
  124.         setscreenoff
  125.         gotoblockbeg jtrue START  markcolumn gotoblockbeg jfalse END
  126. * ----- From AMACxx.ZIP COMTxx.QM com003.qm @F4 by John Goodman -----*
  127.  START: copy pasteover insertline markline gotoblockend markcolumn
  128.         prevposition copyblock copyblock cursordown pasteover
  129.         cursorup markcolumn gotoblockend cursorright addline markcolumn
  130. * ----------------------------- Make box -----------------------------*
  131.         gotoblockbeg toggleboxtype "S" toggleboxdraw
  132.      R: cursorright            iscursorinblock jtrue R  prevposition
  133.      X: cursordown   jfalse L  iscursorinblock jtrue X  prevposition
  134.      L: cursorleft   jfalse T  iscursorinblock jtrue L  prevposition
  135.      T: cursorup     jfalse Y  iscursorinblock jtrue T  prevposition
  136.      Y: cursorright toggleboxdraw
  137.         gotoblockbeg cursordown cursorright pasteover
  138.         gotoblockend cursordown addline return
  139.    END: unmarkblock
  140. *
  141. * 80 bytes Fri  11-08-1991  13:22:11 (TH @F3)
  142.  
  143. * 
  144. * ----------------------------------------------------------------------
  145. * @(F5) Erase Any Type Column Block Border,  Works Anywhere
  146. *       Except When Block is at col 512, Does Not Shadow, v2.15 Only
  147. * ----------------------------------------------------------------------
  148. * Mark the following box as a 3 line column block to be erased:
  149. *
  150. *                         ┌───────────────┐
  151. *                         │   Test Box    │
  152. *                         └───────────────┘
  153.  
  154. @F5     macrobegin
  155.         setscreenoff
  156.         gotoblockbeg jtrue START  markcolumn gotoblockbeg jfalse END
  157.  START: toggleboxtype "E" toggleboxdraw
  158.      R: cursorright            iscursorinblock jtrue R  prevposition
  159.      X: cursordown   jfalse L  iscursorinblock jtrue X  prevposition
  160.      L: cursorleft   jfalse T  iscursorinblock jtrue L  prevposition
  161.      T: cursorup     jfalse Y  iscursorinblock jtrue T  prevposition
  162.      Y: cursorright toggleboxdraw gotoblockbeg
  163.    END: unmarkblock
  164. *
  165. * 55 bytes Fri  11-08-1991  13:23:12 (TH @F5)
  166.  
  167. * 
  168. * ----------------------------------------------------------------------
  169. * @(F6) Erase Single Line Box, v2.15 Only
  170. * ----------------------------------------------------------------------
  171. * To erase a single line drawing character box, position cursor on
  172. * upper left corner of box and invoke @F6.  Be careful, this macro
  173. * deletes all text on lines containing the top and bottom line of the
  174. * box.  Remove the line "setscreenoff" if not using QEdit v2.15.  This
  175. * macro uses the box erasing macro written by John Goodman in
  176. * AMACxx.ZIP COMTxx.QM com003.qm.
  177.  
  178. * To erase the following 3 line box, position cursor on top left corner
  179. * of box (note *'s and > are erased also):
  180. *
  181. *                        >┌───────────────┐
  182. *                         │   Test Box    │
  183. *                         └───────────────┘
  184.  
  185. @F6     macrobegin
  186.         setscreenoff
  187.         unmarkblock markcolumn cursordown
  188.         Find "┘" return delline return jfalse END
  189.         markcolumn gotoblockbeg shiftright gotoblockend markline
  190.         prevposition gotoblockend markcolumn prevposition cursorright
  191.         markcolumn delline gotoblockend delline gotoblockbeg deleteblock
  192.         scrollup
  193.    END: unmarkblock
  194. *
  195. * 34 bytes Fri  11-08-1991  15:18:44 (TH @F6)
  196.  
  197.  
  198.